With the rapid development of network technologies and popularity of network applications, the switch fabric system needs to support both switching unicast traffic and multicast traffic.
FIG. 1 is a schematic diagram of a structure of a switch fabric system. The interface system on the left side may include n line cards or n fabric interface chips. The data cell or data packet output by any device in this system can pass through any switching device in an intermediate switch fabric system, such as m switch fabric chips or boards, and arrive at any device (such as a line card), which is a destination port, in the interface system on the right side. That is, the data cell or data packet (uniformly called “cell” herein to simplify description) sent by an ingress port can pass through different switch fabric chips before arriving at the destination port.
At present, a common switching mechanism for implementing an intermediate switch fabric system is a crossbar (XB) mechanism. When data is switched in a crossbar mechanism, the ingress port sends a scheduling request to the switch fabric system first, indicating that a cell existing on this line card is destined for a destination port; afterward, the switch fabric system performs arbitration according to a certain matching algorithm, generates a grant after the arbitration, and notifies the grant information to all line cards. After receiving the cell sent by each line card according to the grant, the crossbar configures crosspoints between each ingress port and each egress port according to the matching result, thus finishing data switching.
Besides, the crossbar switch fabric may need to deskew the cells received from different ingress ports successively at the ingress through a certain buffer before configuring the crosspoints.
In the process of implementing the present invention, the inventor finds at least the following problems in the prior art: The crossbar mechanism has the characteristic of centralized scheduling; the scheduling algorithm and the scheduling process of the crossbar mechanism are suitable for switching of unicast data, but not suitable for switching of multicast data; if the existing crossbar mechanism is used to switch multicast data, plenty of bandwidth from the ingress port to the intermediate switch fabric is occupied. That is, if the crossbar processes unicast data and multicast data simultaneously, the efficiency of data switching is reduced and more system resources are consumed.